package org.example.service;

import org.example.domain.Tag;
import org.example.param.TagAddParam;
import org.example.param.TagDeleteParam;
import org.example.param.TagFuzzyParam;
import org.example.param.TagUpdateParam;
import org.example.utils.Result;

import java.util.List;

public interface TagService {
    Result all();

    Result add(TagAddParam tagAddParam);

    Result delete(TagDeleteParam tagDeleteParam);

    Result update(TagUpdateParam tagUpdateParam);

    int deleteArticle(Long id);

    int addArticle(Long articleId,List<Long> ids);

    Result findTagByName(String tagName);

    Result fuzzy(TagFuzzyParam tagFuzzyParam);

    // 根据标签找出对应的文章id
    List<Long> findArticleIdById(List<Long> id);

    // 根据文章id找出对应的标签
    List<Tag> findTagsByArticleId(Long articleId);

    Result hot(Integer limit);

    Result findTagById(Long id);
}
